/*
 * @Author       : Hejh(3010733382@qq.com)
 * @Version      : V1.0
 * @Date         : 2024-01-29 20:13:06
 * @Description  : 通用的一些类型
 */
export interface PageRes<T> {
  total: number
  pageSize: number
  pages: number
  page: number
  items: T[]
}

export interface SelectOpts {
  value: string
  label: string
  handle: any
}

export interface CommonOpt {
  name?: string
  value?: string
  label?: string
  path?: string
  type?: string
  color?: string
}

export type CommonDrop = {
  key: string
  label: string
  [key: string | symbol]: any
}

export type IndexObj<T = any> = {
  [key: string]: T
}

// 通用的级联用户类型
export interface UserCommonRes {
  id: string
  username: string
  avator: string
}

// 通用的记录文件类型
export interface FileCommonRes {
  id: string
  size: string
  filename: string
  suffix: string
}

// 通用的级联部门类型
export interface DepCommonRes {
  id: string
  pid: string
  name: string
  UserDepartment: {
    roleId: string
    sizeMax: string
    id: string
  }
}

// 通用的分页请求参数
export interface PageReq {
  page?: string
  pageSize?: string
}
